package com.xinda.admin.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.xinda.admin.dao.AdminMapper;
import com.xinda.admin.pojo.Admin;
import com.xinda.admin.pojo.AdminRole;

@Service
public class AdminService {
	@Resource
	private AdminMapper adminMapper;
	
	/**
	 * 查询管理员数量
	 */
	public Integer countAdmin() {
		return adminMapper.countAdmin();
	}
	/**
	 * 查询所有管理员
	 * @return
	 */
	public List<Admin> selectAllAdmin(Map<String,String> conditionsMap){
		return adminMapper.selectAllAdmin(conditionsMap);
	}
	/**
	 * 查询所有管理员角色
	 * @return
	 */
	public List<AdminRole> selectAllAdminRole(){
		return adminMapper.selectAllAdminRole();
	}
	/**
	 * 新增管理员
	 * @param admin
	 */
	public void insertAdmin(Admin admin) {
		adminMapper.insertAdmin(admin);
	}
	/**
	 * 删除管理员
	 * @param id
	 */
	public void delAdminById(Integer id) {
		adminMapper.delAdminById(id);
	}
	
	/**
	 * 批量删除管理员
	 * @param id
	 */
	public void delAdmins(String[] id) {
		adminMapper.delAdmins(id);
	}
	/**
	 * 编辑管理员页面：根据id查询管理员
	 * @param id
	 */
	public Admin selectAdminById(Integer id) {
		return adminMapper.selectAdminById(id);
	}
	/**
	 * 编辑管理员
	 * @param admin
	 */
	public void editAdmin(Admin admin) {
		adminMapper.editAdmin(admin);
	}
	/**
	 * 停用管理员
	 * @param id
	 */
	public void stopAdmin(Integer id) {
		adminMapper.stopAdmin(id);
	}
	/**
	 * 启用管理员
	 * @param id
	 */
	public void startAdmin(Integer id) {
		adminMapper.startAdmin(id);
	}
	/**
	 * 登录验证：根据管理员名查询管理员
	 * @param adminName
	 * @return
	 */
	public Admin findAdminByAdminName(String adminName) {
		
		return adminMapper.findAdminByAdminName(adminName);
	}
	/**
	 * 设置登录信息
	 */
	public void setLastLogin(String username, Date date,String ip) {
		
		adminMapper.setLastLogin(username,date,ip);
	}
	
	/**
	 * 按名字查询登录管理员的权限
	 */
	public Integer selectAdminRoleByName(String username) {
		return adminMapper.selectAdminRoleByName(username);
	}



}
